//
//  YTGCDTimer.h
//  IntegralWall
//
//  Created by 小焘无量 on 2022/9/7.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface YTGCDTimer : NSObject

/// 创建定时器
/// @param start 延迟多久执行
/// @param interval 多久时间执行一次
/// @param repeats 是否重复
/// @param async 是否是主线成
/// @param completion 执行方法
+ (NSString *)timerWithStartTime:(NSTimeInterval)start interval:(NSTimeInterval)interval repeats:(BOOL)repeats mainQueue:(BOOL)async completion:(void (^)(void))completion;
 
/// 创建定时器
/// @param target 当前累
/// @param selector 执行的方法
/// @param start 延迟多久执行
/// @param interval 时间间隔
/// @param repeats 是否重复
/// @param async 是否主主线程
+ (NSString *)timerWithTarget:(id)target selector:(SEL)selector StartTime:(NSTimeInterval)start interval:(NSTimeInterval)interval repeats:(BOOL)repeats mainQueue:(BOOL)async;
 
/// 取消某个定时器，
/// @param timerID 定时器id，默认从1开始，每创建一个定时器 +1
+ (void)cancel:(NSString *)timerID;

@end

NS_ASSUME_NONNULL_END
